<?php
/**
 * Created by PhpStorm.
 * User: czm
 * Date: 2019/4/24
 * Time: 9:40
 */
namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Session;
use think\Db;

class Login extends Controller
{
    public function login(){
        //判断是否是post方法发送的数据：如果是则开始登陆
        if (Request::instance()->isPost()){
            $name = input('post.name');//接收前台用户名
            $password = input('post.password');//接收前台密码
            $captcha = input('post.captcha');//接收验证码

            if(empty($name) || empty($password)){
//                return show(403);
                $this->error("用户名或者密码不能为空！");
            }

             //处理验证码
            if(empty($captcha)){
                $this->error('验证码不能为空');
            }

            if(!captcha_check($captcha)){
                $this->error('验证码错误');
//                return show(405);
            };

            //从数据库读取数据
            $info = DB::name('admin')->where('name',$name)->find();
            if(empty($info)){
                $this->error('用户不存在，请重新登陆',url('/admin/login'));
            }else{
                if(md5($password)!=$info['password']){
                    $this->error('密码不正确，请重新登陆',url('/admin/login'));
                }else{
                    Session::set('name',$name);
                    Session::set('id',$info["id"]);
                    Session::set('role',$info["role"]);
                    Session::set('state',$info["state"]);
                    if ($info["state"] == 1)
                    {
                        $this->error('你的账户已被停用！');
                    }
//                    return show(200);
//                    return redirect('/admin');
                    $this->success("登录成功！",url('/admin'));
                }
            }
        }else{//如果不是post，则返回登陆界面
            Session::clear();
            return $this->fetch('login');
        }
        return $this->fetch();

    }

    public function logout()
    {
        Session::set('id','');
        return redirect('/admin/login');
    }

//    public function logout()
//    {
//        Session::set('id');
//        Session::clear('id');
//        return $this->success('退出成功','/admin/login');
//    }
}